Contemporary high performance computing main memory systems are generally composed of one or more memory devices, such as dual in-line memory modules (DIMMs), which are connected to one or more memory controllers and/or processors. The DIMMs may be connected via one or more memory interface elements such as buffers, hubs, bus-to-bus converters, etc. The memory devices are generally located in a memory subsystem and are often connected via a pluggable interconnection system by one or more connectors to a system board, such as a PC motherboard.
Overall computer system performance is affected by each of the key elements of the computer structure, including the performance/structure of the processor, any memory caches, the input/output (I/O) subsystem, the efficiency of the memory control functions, the performance of the main memory devices, any associated memory interface elements, and the type and structure of the memory interconnect interface.
Extensive research and development efforts are invested by the industry, on an ongoing basis, to create improved and/or innovative solutions to maximizing overall system performance and density by improving the memory system design. High-availability systems present further challenges as related to overall system reliability due to customer expectations that new computer systems will markedly surpass existing systems in regard to mean-time-between-failure (MTBF), in addition to offering additional functions, increased performance, increased storage, lower operating costs, etc.
Some vital computer applications rely on data integrity and go to extreme lengths to protect the data from unexpected faults, such as power failures. Most storage systems make some provision for storing pending data in the event of a power failure, but most are on a best effort basis and rely on transient energy sources to preserve as much data as possible before the energy runs out. In disk drives for instance, the spinning media becomes a source of energy utilized to store any residual unwritten data.
Data that may not have been transferred from system memory to a peripheral storage system may be at a greater risk. In applications that rely on data integrity other accommodations must be made at the system level. A standard approach to preserving system operation is a battery back-up structure, but this approach consumes significant space and may only be a short term solution. Beyond the duration of the battery back-up system, the critical data would be lost.
Other frequent customer requirements further exacerbate the memory system design challenges, and include such items as ease of upgrade and reduced system environmental impact (such as space, power and cooling). In addition, customers are requiring the ability to access an increasing number of higher density memory devices (e.g. DDR2 and DDR3 DRAMs) at faster and faster access speeds.
Thus, a need still remains for a dynamic back-up storage system with rapid restore, that can positively protect vital system data for as long as necessary. In view of the increasing reliance on computer data structures, it is increasingly critical that answers be found to these problems. In view of the ever-increasing commercial competitive pressures, along with growing consumer expectations and the diminishing opportunities for meaningful product differentiation in the marketplace, it is critical that answers be found for these problems. Additionally, the need to reduce costs, improve efficiencies and performance, and meet competitive pressures adds an even greater urgency to the critical necessity for finding answers to these problems.
Solutions to these problems have been long sought but prior developments have not taught or suggested any solutions and, thus, solutions to these problems have long eluded those skilled in the art.